package com.aiapphub.SystemCode.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * AI对话消息实体
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ai_message")
public class AiMessage {
    
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    /**
     * 会话ID
     */
    @TableField("conversation_id")
    private Long conversationId;
    
    /**
     * 消息类型：USER-用户消息，ASSISTANT-AI回复
     */
    @TableField("message_type")
    private String messageType;
    
    /**
     * 消息内容
     */
    @TableField("content")
    private String content;
    
    /**
     * 用户ID
     */
    @TableField("user_id")
    private String userId;
    
    /**
     * 消息状态：SENDING-发送中，SUCCESS-成功，FAILED-失败
     */
    @TableField("status")
    private String status;
    
    /**
     * 错误信息
     */
    @TableField("error_message")
    private String errorMessage;
    
    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
    
    /**
     * 消息顺序
     */
    @TableField("message_order")
    private Integer messageOrder;
    
    /**
     * 关联的文件ID（如果有）
     */
    @TableField("file_id")
    private Long fileId;
}
